import pytest

def get_student_info(student_id):
    students = {
        1001: {"name": "方鸿新", "age": 21, "sex": "男"},
        1002: {"name": "苏文芷", "age": 21, "sex": "女"},
        1003: {"name": "唐晓芙", "age": 17, "sex": "女"},
        1004: {"name": "赵辛媚", "age": 16, "sex": "女"}
    }
    return students.get(student_id, "The student ID does not exist.")

class TestGetStudentInfo:
    def student_info_func(self, student_id, expect):
        assert expect == get_student_info(student_id)

    def test_case_1(self):
        self.student_info_func(1001, {"name": "方鸿新", "age": 21, "sex": "男"})

    def test_case_2(self):
        self.student_info_func(1003, {"name": "唐晓芙", "age": 17, "sex": "女"})

    def test_case_3(self):
        self.student_info_func(1007, "The student ID does not exist.")

if __name__ == '__main__':
    pytest.main(["-v", "-s", "pytest_study/pytest_demo_test.py"])
    # -v: verbose模式，显示更详细的测试结果
    # -s: 显示print输出内容